package com.hlkj.warboot.configurer.util;//package com.hlkj.warboot.configurer.util;
//
//import net.sf.json.JSON;
//import net.sf.json.JSONArray;
//import net.sf.json.JSONObject;
//import net.sf.json.xml.XMLSerializer;
//
//import java.nio.charset.StandardCharsets;
//import java.util.regex.Matcher;
//import java.util.regex.Pattern;
//
///**
// * @Description: XML格式数据生成器（用于将bean、映射、集合、Java数组和XML转换为JSON的Java库）
// * @Author: lixing
// * @Date: 2020/4/22 16:28
// */
//public class XmlUtil {
//
//    public static void main(String[] args) {
//        JSONObject treatyroot = new JSONObject();
//        // syscont
//        JSONObject syscont = new JSONObject();
//        syscont.put("appkey","2302637825");
//        syscont.put("method","orderync");
//        syscont.put("reqtime","20200422001645");
//        syscont.put("sign","sign");
//        syscont.put("subchannelcode","900052141005201172");
//        syscont.put("sysid","100520");
//        syscont.put("transactionid","1005202020042201645");
//        syscont.put("version","1.0");
//        treatyroot.put("syscont",syscont);
//        // ordercont
//        JSONObject ordercont = new JSONObject();
//        ordercont.put("cardmaterialcode","8986031995027652352");
//        ordercont.put("cardno","320721199003080831");
//        // ordercont expresscont
//        JSONObject expresscont = new JSONObject();
//        expresscont.put("cardno","320721199003080831");
//        expresscont.put("mobilephone","15952460796");
//        ordercont.put("expresscont",expresscont);
//        // ordercont goodscount
//        JSONArray goodscountArray = new JSONArray();
//        JSONObject picFront = new JSONObject();
//        picFront.put("type","front");
//        picFront.put("date","frontpic");
//        goodscountArray.add(picFront);
//        JSONObject picHand = new JSONObject();
//        picHand.put("type","hand");
//        picHand.put("date","handpic");
//        goodscountArray.add(picHand);
//
//        ordercont.put("goodscountArray",goodscountArray);
//        treatyroot.put("ordercont",ordercont);
//        //
//        String xml = jsonToXml("treatyroot",treatyroot);
//        xml = partenXmlArrayElement(xml,"goodscountArray","goodscount"); // TODO 根据接口方的规范自定义xml节点格式化工具
//        System.out.println(xml);
//    }
//
//    /*
//     * @Description TODO 将xml转化成JSON对象
//     * @Author lixing
//     * @Date 2020/4/23 9:55
//     * @Param [xml]
//     * @return net.sf.json.JSON
//     */
//    public JSON xmlToJson(String xml) {
//        XMLSerializer xmlSerializer = new XMLSerializer();
//        return xmlSerializer.read(xml);
//    }
//
//    /*
//     * @Description TODO 将JSON对象转化成XML
//     * @Author lixing
//     * @Date 2020/4/22 16:53
//     * @Param [rootName 根节点名称，content 内容]
//     * @return java.lang.String
//     */
//    public static String jsonToXml(String rootName,JSONObject content) {
//        XMLSerializer xmlSerializer = new XMLSerializer();
//        xmlSerializer.setRootName(rootName); // 根节点名称
//        xmlSerializer.setTypeHintsEnabled(false); // 隐藏节点的类型
//        return xmlSerializer.write(content, StandardCharsets.UTF_8.toString());
//    }
//
//    /*
//     * @Description TODO 对XMLSerializer生成的xml中的数组标签进行正则处理
//     * @Author lixing
//     * @Date 2020/4/23 9:34
//     * @Param [xml 待处理的xml, partenContent 待匹配的内容, replaceContent 待替换的内容]
//     * @return java.lang.String
//     */
//    public static String partenXmlArrayElement(String xml , String partenContent, String replaceContent) {
//        Pattern pattern_goodscountArray = Pattern.compile("<"+partenContent+">(.*?)</"+partenContent+">");
//        Matcher matcher_goodscountArray = pattern_goodscountArray.matcher(xml);
//        while (matcher_goodscountArray.find()) {
//            String goodscountArray_str = matcher_goodscountArray.group();
//            String goodscountArray_str_ = goodscountArray_str.replace("<"+partenContent+">",""); // 清空数组标签
//            goodscountArray_str_ = goodscountArray_str_.replace("</"+partenContent+">",""); // 清空数组标签
//            goodscountArray_str_ = goodscountArray_str_.replace("<e>","<"+replaceContent+">");
//            goodscountArray_str_ = goodscountArray_str_.replace("</e>","</"+replaceContent+">");
//            xml = xml.replaceAll(goodscountArray_str,goodscountArray_str_);
//        }
//        return xml;
//    }
//
//}
